struct _DEBUG_DEVICE_DESCRIPTOR// Size=0xf8
{
    unsigned long Bus;// Offset=0x0 Size=0x4
    unsigned long Slot;// Offset=0x4 Size=0x4
    unsigned short Segment;// Offset=0x8 Size=0x2
    unsigned short VendorID;// Offset=0xa Size=0x2
    unsigned short DeviceID;// Offset=0xc Size=0x2
    unsigned char BaseClass;// Offset=0xe Size=0x1
    unsigned char SubClass;// Offset=0xf Size=0x1
    unsigned char ProgIf;// Offset=0x10 Size=0x1
    unsigned char Flags;// Offset=0x11 Size=0x1
    unsigned char DbgHalScratchAllocated:1;// Offset=0x11 Size=0x1 BitOffset=0x0 BitSize=0x1
    unsigned char DbgBarsMapped:1;// Offset=0x11 Size=0x1 BitOffset=0x1 BitSize=0x1
    unsigned char DbgScratchAllocated:1;// Offset=0x11 Size=0x1 BitOffset=0x2 BitSize=0x1
    unsigned char Initialized;// Offset=0x12 Size=0x1
    unsigned char Configured;// Offset=0x13 Size=0x1
    struct DEBUG_DEVICE_ADDRESS BaseAddress[6];// Offset=0x18 Size=0x90
    struct DEBUG_MEMORY_REQUIREMENTS Memory;// Offset=0xa8 Size=0x20
    unsigned short PortType;// Offset=0xc8 Size=0x2
    unsigned short PortSubtype;// Offset=0xca Size=0x2
    void * OemData;// Offset=0xd0 Size=0x8
    unsigned long OemDataLength;// Offset=0xd8 Size=0x4
    enum KD_NAMESPACE_ENUM NameSpace;// Offset=0xdc Size=0x4
    wchar_t * NameSpacePath;// Offset=0xe0 Size=0x8
    unsigned long NameSpacePathLength;// Offset=0xe8 Size=0x4
    unsigned long TransportType;// Offset=0xec Size=0x4
    struct _DEBUG_TRANSPORT_DATA TransportData;// Offset=0xf0 Size=0x8
};